home *** CD-ROM | disk | FTP | other *** search
/ Cracking - A jak se proti němu bránit / Cracking-a-jak-se-proti-nemu-branit-covermount.bin / Priklady / Priklad 23 / DETECT23.ASM next >
Encoding:
Assembly Source File  |  2000-08-20  |  2.5 KB  |  72 lines

  1. .386
  2. .MODEL FLAT,STDCALL
  3. locals
  4. jumps
  5. UNICODE=0
  6. include w32.inc
  7.  
  8.  
  9. Extrn SetUnhandledExceptionFilter : PROC
  10. Extrn CreateFileW                 : PROC
  11.  
  12. .DATA
  13.  
  14. sprava1        db "Detekcia pomocou CreateFileW (SIWVIDSTART)",0
  15. sprava3        db "Soft-Ice najdeny",0
  16. sprava2        db "Soft-Ice nenasiel",0
  17. odlozESP       dd 0                             ;sem uklada register ESP
  18. predchadzajuca dd 0                             ;sem uklada adresu predchadzajucej obsluhy SEH
  19. SIWVIDSTART    db "\",0,"\",0,".",0,"\",0,"S",0,"I",0,"W",0,"V",0,"I",0,"D",0,"S",0,"T",0,"A",0,"R",0,"T",0,0,0
  20.                                                 ;meno ovladaca Soft-Ice
  21.  
  22. .CODE
  23. Start:
  24.  
  25. ;----------------------------------------------------------------------------
  26. ;NASTAVI SEH PRE PRIPAD CHYBY
  27. ;----------------------------------------------------------------------------
  28.                 mov  [odlozESP],esp
  29.                 push offset chyba
  30.                 call SetUnhandledExceptionFilter
  31.                 mov  [predchadzajuca], eax
  32. ;----------------------------------------------------------------------------
  33.  
  34.                 call CreateFileW, OFFSET SIWVIDSTART, FILE_FLAG_WRITE_THROUGH, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL
  35.                                                 ;snazi sa otvorit subor SIWVIDSTART
  36.  
  37.                 push eax                        ;ulozi navratovu hodnotu
  38.  
  39.  
  40. ;----------------------------------------------------------------------------
  41. ;NASTAVI PREDCHADZAJUCU OBSLUHU SEH
  42. ;----------------------------------------------------------------------------
  43.                 push dword ptr [predchadzajuca]
  44.                 call SetUnhandledExceptionFilter
  45. ;----------------------------------------------------------------------------
  46.  
  47.                 pop  eax                        ;obnovi navratovu hodnotu
  48.  
  49.                 cmp  eax, -1                    ;testuje, ci sa mu to podarilo
  50.                 jnz  skok                       ;ak ano skoci, pretoze Soft-Ice je aktivny v pamati
  51.  
  52.  
  53. continiue:
  54.                 call MessageBoxA,0, offset sprava2, offset sprava1,0
  55.                 call ExitProcess, -1
  56.  
  57. skok:
  58.  
  59.                 call MessageBoxA,0, offset sprava3, offset sprava1,0
  60.                 call ExitProcess, -1
  61.  
  62.  
  63.  
  64. chyba:                                          ;nova obsluha SEH pre pripad chyby
  65.  
  66.                 mov  esp, [odlozESP]
  67.                 push offset continiue
  68.                 ret
  69.  
  70. ends
  71. end Start
  72.